﻿
Imports System.Collections.Generic
Imports System.ServiceModel

Imports IETracker.Business.Entities
Imports IETracker.Business.Compents
Imports System.Runtime.Serialization
Imports System.Collections.ObjectModel


' NOTE: You can use the "Rename" command on the context menu to change the interface name "IService1" in both code and config file together.
<ServiceContract()>
Public Interface IIETrackerService

    <OperationContract()>
    Function GetTransactionList() As List(Of TransactionList)

    <OperationContract()>
    Function GetExpenseList(Optional endDate As Date = #12:00:00 AM#, Optional returnNumberOfTransactions As Integer = 0) As List(Of TransactionList)

    <OperationContract()>
    Function GetIncomeList(Optional endDate As Date = #12:00:00 AM#, Optional returnNumberOfTransactions As Integer = 0) As List(Of TransactionList)

    <OperationContract()>
    Function GetTransactionDescriptions(_transactionType As String) As List(Of String)

    <OperationContract()>
    Function ReadAllTransaction() As List(Of Transaction)

#Region "Transaction"
    <OperationContract()>
    Function CreateTransaction(_transactionList As TransactionList) As TransactionList
#End Region

End Interface

'' Use a data contract as illustrated in the sample below to add composite types to service operations

'<DataContract()>
'Public Class CompositeType

'    <DataMember()>
'    Public Property BoolValue() As Boolean

'    <DataMember()>
'    Public Property StringValue() As String

'End Class
